package com.ctshk.rpc.finance.service;


import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.rpc.finance.dto.onaccount.OffAccountApplyDTO;
import com.ctshk.rpc.finance.dto.onaccount.OffAccountListDTO;
import com.ctshk.rpc.finance.dto.onaccount.OffAccountUsedListDTO;
import com.ctshk.rpc.finance.req.onaccount.*;

import java.util.List;

/**
 * <p>
 * 财务销账申请记录 服务类
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-03-31
 */
public interface IFinanceOffAccountApplyService {

    /**
     * 申请销账
     * @param req
     * @return
     */
    Result add(OffAccountAddReq req);

    /**
     * 列表
     * @param req
     * @return
     */
    Result<List<OffAccountListDTO>> list(OffnAccountListReq req);

    /**
     * 详情
     * @param req
     * @return
     */
    Result<OffAccountApplyDTO> detail(OffAccountIdReq req);

    /**
     * 审批
     * @param req
     * @return
     */
    Result approval(OffAccountApprovalReq req);

    /**
     * 预收明细-使用记录
     * @param req
     * @return
     */
    Result<PageResponse<OffAccountUsedListDTO>> usedList(OffAccountUsedListReq req);
}
